1. Field of the Invention
The present invention generally relates to computer software. More specifically, the present invention relates to a graphics application configured for user-directed path-based region filling or matching criteria region filling.
2. Description of the Related Art
The term computer aided design (CAD) refers to a broad variety of computer-based tools used by architects, engineers, animators, video game designers, and other graphics and design professionals. CAD applications may be used to construct computer models or drawings representing virtually any imaginable construct. Commonly, CAD applications can be used in conjunction with a graphics application to add colors to a CAD line drawing to compose a visually-pleasing scene or image. A graphics application generally includes a color palette or color wheel from which a user of the CAD application may choose a color to work with. Colors can then be applied to almost any object within the graphics model or drawing. Photo/video editing software tools provide similar features.
Furthermore, a vector graphics application is type of graphical design application. Vector graphics, also called geometric modeling or object-oriented graphics, refers to the use of geometrical primitives such as points, lines, curves, and polygons, which may be based upon mathematical equations, to represent images in computer graphics. Vector graphics are distinct from raster graphics. In raster graphics applications, images are represented as a collection of pixels or dots. A common feature of vector graphics applications is the ability to incorporate graphical styles in a vector-based drawing. A graphical style is a set of reusable appearance attributes. Graphical styles allow a user to quickly change the look and feel of an object. For example, a user can change an object's fill and stroke color, alter its transparency, and apply various effects in one step. An example of a graphical style includes a “polka dot” graphical style, such that applying the polka dot graphical style to an object fills the object with a polka dot pattern.
A common feature of graphics applications is the ability to “fill” a region with a color or graphical style using a region filling tool. Most commonly, the tool used for this feature is a “paint bucket” and is often referred to as a “fill tool.” Generally, a user chooses the fill tool from a list of available tools. The user then selects the color or graphical style that that represents the color or graphical style the user wishes to apply to a region. The currently selected color or graphical style may appear in a dialog box. The user of the graphics application may then apply the selected color or graphical style to closed regions in the graphics drawing.
However, applying colors and graphical styles to closed regions has proven to be laborious. Prior art techniques for region filling generally only allow a user to fill a single region at a time. In the prior art, region filling using vector and raster based systems has been based on “seeding” or point sampling an area and flooding the area until geometric bounds are reached. Using prior art techniques, a user that desires to fill multiple regions with the same color or graphical style must apply the color or graphical style to each region individually, a process that is tedious if many regions are to be filled with the same color or graphical style.
Other prior art techniques allow for applying a color or graphical style to multiple regions at once using a process known as style-by-layer. The original conception for this user interaction was to leverage the structure of a CAD drawing into layers to accelerate colorization. When using this prior art technique, it was assumed that most CAD drawings would contain a well organized layer structure and that the marks on a page would have a one-to-one correspondence with elements of the design. When the CAD drawing is colorized in the graphics application, colors or graphical styles could be applied simultaneously to all regions that are present in the same layer or to all regions that correspond to a particular element of the design. In practice though, a majority of CAD drawings do not exhibit the structure required for style-by-layer region filling. In particular, designs which include external references created by third parties frequently lack a strict adherence to layer organization rules. Even more prevalent are designs which are comprised solely of discrete lines and curves and are completely lacking in closed areas that represent a boundary of a physical material in the drawing. These types of drawings are known as unstructured drawings. Thus, even when using a style-by-layer technique for region filling, the colorization of unstructured drawings is an extremely repetitive task requiring the user to click inside each bounded area on the page the user wishes to colorize because of the lack of adherence to layer or element formalities. To efficiently use a style-by-layer technique, the user is burdened with the task of assuring that a drawing is consistently sorted by layer or element to permit efficient application of stylistic attributes.
Although these prior art techniques work as intended, these techniques have a significant limitation in that the user must apply a region fill to individual regions separately in unstructured drawings. In unstructured drawings with many regions to be filled with the same color or graphical style, the process is tedious and time-consuming.
Accordingly, there remains the need in the art for a technique for region filling that allows for the efficient filling of multiple regions with the same color or graphical style.